iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
Python

Python自修系列 第 26

DAY26: Docker 將應用程序容器化

  • 分享至 

  • xImage
  •  

Dockerfile

# 使用官方的 Python 基礎映像
FROM python:3.11-slim

# 設置工作目錄
WORKDIR /app

# 複製當前目錄的內容到容器中的 /app 目錄
COPY . /app

# 安裝 Python 依賴
RUN pip install --no-cache-dir -r requirements.txt

# 設置環境變量
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0

# 暴露 Flask 應用使用的端口
EXPOSE 5000

# 執行應用程序
CMD ["flask", "run"]

requirements.txt

Flask==3.0.3
Flask-SQLAlchemy==3.1.1
Flask-Migrate==4.0.4
Flask-Login==0.6.3

docker-compose.yml

version: '3.8'

services:
  web:
    build: .
    ports:
      - "5000:5000"
    environment:
      - FLASK_APP=app.py
      - FLASK_ENV=development
    volumes:
      - .:/app
    depends_on:
      - db

  db:
    image: postgres:14
    environment:
      POSTGRES_USER: flask_user
      POSTGRES_PASSWORD: flask_password
      POSTGRES_DB: flask_db
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:

修改 app.py

app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://flask_user:flask_password@db:5432/flask_db'

構建並啟動容器

docker-compose up --build

這個命令會根據 Dockerfile 來構建映像,然後啟動容器。應用程序將在 http://localhost:5000 上運行。


上一篇
DAY25:測試和調試後端應用
下一篇
DAY27: Vercel 為例,介紹如何將應用部署到雲端
系列文
Python自修30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言